A passive optical network (PON) comprises an optical line terminal (OLT) system connected to multiple optical network unit (ONU) systems in a point-to-multi-point network. New standards have been developed to define different types of PONs, each of which serves a different purpose. For example, the PONs known in the related art include a BPON, an EPON, and a GPON, and others.
An exemplary diagram of a typical PON 100 is schematically shown in FIG. 1. The PON 100 includes a number M of ONUs 120-1, 120-2 . . . 120-M coupled to an OLT 130 via a passive optical splitter 140. Since all ONUs function in like manner, they will be collectively referred to by the reference numeral 120 in the following description unless reference is made to a specific ONU. Traffic data transmission may be achieved using ATM cells over two optical wavelengths, one for the downstream direction and another for the upstream direction. Thus, downstream transmission from the OLT 130 is broadcast to all the ONUs 120. Each ONU 120 filters its respective data according to, for example, pre-assigned ATM VPI/VCI values.
The OLT 130 includes a transmitter (not shown) for transmitting downstream data to the ONUs 120 and a receiver (not shown) for receiving upstream data sent to OLT 130 from ONUs 120. OLT 130 broadcasts data to the ONUs 120 along a common channel so that all the ONUs 120 receive the same data. On the other hand, each of ONUs 120 transmits respective data to the OLT 130 during different time slots allocated by the OLT 130. To this end, the OLT 130 must allocate bandwidth to the ONUs 120 and specify when, during a complete cycle in which upstream data is sent from the ONUs 120 to the OLT 130, each ONU may transmit. Obviously, the more time slots allocated to an ONU, the greater is the bandwidth allocation thereto.
In accordance with the BPON standard (G.983.1), the downstream channel is divided into frames with fixed-size transmission time slots. The downstream frame includes the physical layer operation administration and maintenance (PLOAM) channel, in which PLOAM cells are transmitted to ONUs 120 from OLT 130. Downstream PLOAM cells include the grants of the upstream frames. The grants control the upstream transmission, namely an OAM process assigns grant-IDs to traffic containers (T-CONTs, which are logical upstream channels within ONUs), and so ONUs 120 can transmit data at the allocated slots according to the grant values in the PLOAM cells. FIG. 2 shows schematically a downstream frame 200 transmitted by the OLT 130 to ONUs 120. Frame 200 includes PLOAM cells 250 in predefined slots. Each of the PLOAM cells 250 includes a grant map 310 where each grant is allocated to a single upstream time slot 311. Grant maps 310 together form a grant vector 300 schematically shown in FIG. 3.
In accordance with the BPON standard (G.983.1), a 155 Mb/s downstream frame (e.g. frame 200) has 56 slots, of which slots 1 and 29 are PLOAM cells. The two PLOAM cells contain first and second grant maps respectively. The first PLOAM cell includes a grant map which contains 27 time allocation slots and the second PLOAM cell includes a grant map which contains 26 time allocation slots, thus making a grant vector of 155 Mb/s upstream frame, with a total of 53 time allocation slots. Each ONU 120 receives the grant vector (e.g., vector 300) and decodes its grant maps (e.g., maps 310) in order to determine during which allocation slots it may convey data to the OLT.
In the related art, there are two essentially different mechanisms for allocating time slots to an ONU in different PON technologies. In one mechanism, the OLT sends to the ONUs a grant-map containing multiple grants each representing a single upstream time-slot, during which a respective ONU may transmit data. An alternative mechanism is where each ONU 120 is provided by the OLT 130 with the number of an upstream time slot when it may initiate transmission and the number of consecutive time slots during which such transmission may continue. These two different approaches amount to the same thing and the invention is suitable for use with either.
The various types of PON include a mechanism for dynamic bandwidth allocation (DBA) which allows upstream bandwidth in a PON to be dynamically shared between participating ONUs. The DBA further allows maximizing the bandwidth utilization of bandwidth allocated to the ONUs 120 and providing a better flow control at the OTL 130. The bandwidth allocation is performed by means of the T-CONTs, which are upstream traffic flows within the ONU, to which the OLT grants bandwidth.
A T-CONT is a virtual upstream channel to which bandwidth is granted by the OLT. A single T-CONT can be allocated for an ONU, a class of service (CoS), or a logical ONU. A single ONU may have one or more T-CONTs. There are several types of T-CONTs, each serving a different class of bandwidth allocation. Specifically, the bandwidth allocation for a T-CONT may fall into one of five different types: a) fixed, where a reserved upstream bandwidth is cyclically allocated regardless of demand, b) assured, where bandwidth may not be given without demand, c) non-assured, where bandwidth is given only if it is available but is not guaranteed, d) best effort, or e) any combination thereof. A demand for bandwidth is met only if remaining upstream bandwidth is available. Regardless of how non-fixed bandwidth is allocated during a given grant cycle, the total bandwidth allocated to all channels of the T-CONT cannot exceed a predetermined maximum bandwidth that is a property of the T-CONT.
DBA is performed using two different techniques: a status report dynamic bandwidth allocation (also referred to as a “SR-DBA”) and a predictive dynamic bandwidth allocation (also referred to as “non SR-DBA”). The SR-DBA defines a messaging protocol whereby the ONUs 120 report the queue status of each of their T-CONTs to the OLT 130. By such means, the OLT 130 is periodically informed during successive grant cycles of the actual bandwidth usage of the ONUs employing this mechanism and is better able to allocate sufficient resources to ONUs 120 during subsequent grant cycles. A queue-status report indicates the amount of bandwidth requested by a T-CONT within an ONU 120. Once the OLT 130 allocates grants to an ONU 120, the ONU 120 responds by sending data cells or idle cells in the corresponding timeslots. This information is referred to as the actual usage data.
While the SR-DBA provides a vehicle for dynamically allocating bandwidth during successive grant cycles based on actual traffic demand reported during the previous cycle, it imposes a minimum processing time that adds to the overall OLT response time. This processing time derives from two factors: first, the ONUs 120 need to report their current bandwidth needs to the OLT 130 and secondly the OLT 130 must process the received data in order to allocate new time slots to the ONUs 120 during the next grant cycle and convey them to the ONUs 120. The time taken to report bandwidth needs and convey new time slots is dependent, inter alia on the distance between the OLT 130 and the ONUs 120, and on the required processing time. All of these tasks take time and impose a minimum response time between ONUs 120 reporting their current usage and receiving fresh allocations. This overhead becomes more significant as more traffic is conveyed.
The predictive DBA (or non SR-DBA) technique discussed in the related art is based on monitoring IDLE-cell transmitted by ONUs 120. According to this technique, the OLT 130 tracks ONUs' 120 bandwidth usage patterns, and thus ONUs 120 do not need to report anything back to the OLT 130. The OLT 130 counts actual bandwidth (i.e., non-IDLE cells) used by each ONU 120, and based on this information the OLT 130 predicts the bandwidth needs of the ONUs 120. The advantages of such technique is that they simplify the ONU system, avoid potential interoperability problems between OLT and ONU systems (due to messaging incompatibilities), and reduce ONU complexity since there is no need to support divided-cells and status-reports.
The present invention provides an improved grant scheduler unit that utilizes both predictive (non status reporting) and status reporting dynamic bandwidth allocation mechanisms described in the related art.